home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
A-COMAL Series
/
(k)aab.d64
/
proc.oki'dump
< prev
next >
Wrap
Text File
|
2007-02-28
|
3KB
|
88 lines
0010 // ╧╦╔─┴╘┴ ├╧╠╧╥ ─╒═╨
0020 //
0030 // BY ╘ERRY ╥ICKETTS
0040 // 215 ═OUNTAIN ╫AY
0050 // ╙ANTA ├RUZ, ├ALIF. 95060
0060 // 408-423-7485
0070 //
0080 // BASED ON '╟EMINI 10╪ ├OLOR ╙CREENDUMP'
0090 // BY ╥AY ├ARTER
0100 // SEE ├╧═┴╠ ╘╧─┴┘ #9
0110 //
0120 // ╘HIS PROCEDURE WILL PRINT THE MULTICOLOR GRAPHICS SCREEN
0130 // ON A ╧KIDATA 92 (OR SIMILAR) PRINTER USING GREY SHADING FOR THE
0140 // COLORS. ┼ACH BIT PAIR REPRESENTING ONE COLOR DOT IS PRINTED AS
0150 // A 2 DOT VERT BY 4 DOT HORIZ PATTERN.
0160 // ╘HE PROGRAM IS WRITTEN ENTIRELY IN ├OMAL AND IS THUS VERY SLOW.
0170 // ╔ AM IN THE PROCESS OF WRITING A MACHINE LANGUAGE VERSION WHICH
0180 // SHOULD BE MUCH FASTER.
0190 //
0200 //
0210 ╨╥╧├ DUMPSCREEN ├╠╧╙┼─
0220 ╒╙┼ SYSTEM
0230 ─╔═ A$ ╧╞ 404
0240 ╧╨┼╬ ╞╔╠┼ 4,"LP:/S8/L+",╫╥╔╘┼ // OPEN FILE FOR PRINTER
0250 ╨╥╔╬╘ ╞╔╠┼ 4: ""24"" // RESET THE PRINTER
0260 ╨╥╔╬╘ ╞╔╠┼ 4: ""27"%├075" // MOVE LEFT MARGIN
0270 ╨╥╔╬╘ ╞╔╠┼ 4: ""27"%9"8"" // SET TO 8/144 INCH PER LINE"
0280 ╨╥╔╬╘ ╞╔╠┼ 4: ""3"" // SELECT GRAPHICS MODE
0290 ╨╥╔╬╘ ╞╔╠┼ 4: ""3""10"" // CLEAR THE BUFFER
0300 ─╔═ CPAT(0:15,2) // READ COLOR PATTERNS
0310 ╞╧╥ I:=0 ╘╧ 15 ─╧
0320 ╞╧╥ J:=1 ╘╧ 2 ─╧
0330 ╥┼┴─ CPAT(I,J)
0340 ┼╬─╞╧╥ J
0350 ┼╬─╞╧╥ I
0360 ╞╧╥ COL#:=0 ╘╧ 39 ─╧ // DO 40 COLS
0370 ╞╧╥ PAIR#:=0 ╘╧ 3 ─╧ // 1 OUTPUT ROW PER PAIR OF BYTES
0380 A$:=""
0390 ╞╧╥ ROW#:=24 ╘╧ 0 ╙╘┼╨ -1 ─╧ // DO 25 ROWS PER COL
0400 ADD:=$E000+320*ROW#+8*COL# // SCREEN ADDRESS
0410 LOC:=$D800+40*ROW#+COL# // COLOR RAM ADDRESS
0420 SETPAGE(6) // SELECT COLOR RAM
0430 COLORAM:=╨┼┼╦(LOC) ═╧─ 16 // GET COLOR SCREEN INFO
0440 BACKX:=╨┼┼╦(53281) ═╧─ 16
0450 SETPAGE(0) // SELECT RAM UNDER ROM
0460 SCRMEM:=╨┼┼╦(LOC)
0470 SCRMEMHI:=SCRMEM ─╔╓ 16
0480 SCRMEMLO:=SCRMEM ═╧─ 16
0490 ╞╧╥ BYTE#:=7 ╘╧ 0 ╙╘┼╨ -1 ─╧ //READ 8 BYTES PER CHAR
0500 VALX:=╨┼┼╦(ADD+BYTE#) // READ THE SCREEN
0510 ├┴╙┼ PAIR# ╧╞ // GET THE BIT PAIR FOR EACH COLOR
0520 ╫╚┼╬ 0
0530 VALX:=VALX ─╔╓ 64
0540 ╫╚┼╬ 1
0550 VALX:=(VALX ─╔╓ 16) ═╧─ 4
0560 ╫╚┼╬ 2
0570 VALX:=(VALX ═╧─ 16) ─╔╓ 4
0580 ╫╚┼╬ 3
0590 VALX:=VALX ═╧─ 4
0600 ┼╬─├┴╙┼
0610 ├┴╙┼ VALX ╧╞ // FIGURE OUT COLOR OF PAIR
0620 ╫╚┼╬ 0
0630 VALX:=BACKX
0640 ╫╚┼╬ 1
0650 VALX:=SCRMEMHI
0660 ╫╚┼╬ 2
0670 VALX:=SCRMEMLO
0680 ╫╚┼╬ 3
0690 VALX:=COLORAM
0700 ╧╘╚┼╥╫╔╙┼
0710 ├╠╧╙┼
0720 ╙╘╧╨ "ERR IN CASE"
0730 ┼╬─├┴╙┼
0740 A$:=A$+├╚╥$(CPAT(VALX,2))+├╚╥$(CPAT(VALX,1))
0750 ┼╬─╞╧╥ BYTE#
0760 ┼╬─╞╧╥ ROW#
0770 A$:=A$+""3""+""10"" // ADD LF TO LINE
0780 ╨╥╔╬╘ ╞╔╠┼ 4: A$ // SEND 1 LINE TO PRINTER
0790 ┼╬─╞╧╥ PAIR#
0800 ┼╬─╞╧╥ COL#
0810 ╨╥╔╬╘ ╞╔╠┼ 4: ""3""2""
0820 ├╠╧╙┼
0830 ─┴╘┴ $0F,$0F,0,0,$0F,0,5,$0A // COLOR CODES FOR PAIRS OF BITS
0840 ─┴╘┴ $0A,$0A,6,9,$0D,$0B,8,2
0850 ─┴╘┴ $0A,1,7,$0E,5,0,$0D,$0E
0860 ─┴╘┴ 6,7,4,2,1,8,0,9
0870 ┼╬─╨╥╧├ DUMPSCREEN